The disclosure relates generally to querying and retrieving information, and more specifically, to mapping information into a hybrid structure that supports efficient querying and retrieving of the mapped information.
In general, technology systems utilize a data format for encoding, storing, and organizing information into a data structure. Once formatted into the data structure, the information may then be uniformly transferred between technology systems for data processing, such as data querying and data retrieval. Data processing is typically executed by an application programming interface (API). APIs include specifications for routines, object classes, and variables that enable the data processing, and different specifications are particular to different data processing needs. Yet, while one API may be useful for a particular processing need, that API includes inherent limitations with respect to other data processing needs. Due to these limitations, APIs naturally hinder an ability of any technology system to efficiently and effective query a data structure for information retrieval.
For example, extensible markup language (XML) is a textual data format that defines a set of rules for encoding information and/or other arbitrary data structures. To process information encoded in XML (i.e., XML data) that is stored in an XML document (which may be and/or store data structures), there are generally four API categories: stream oriented processing, such as Simple API for XML (SAX); tree data structure based processing, such as Document Object Model (DOM); binding, such as Java Architecture of XML Binding (JAXB); and declarative transformation processing, such as XML Path Language (XPath). SAX, an event-based sequential access parser that provides a mechanism for sequentially reading on each piece of the XML document, is difficult to use for randomly accessing the XML document. DOM, a convention for representing XML data as a tree data structure, lacks querying mechanisms. Thus, the tree data structure must be recursively traversed to get the XML data. JAXB, which transparently converts XML data to native Java classes, also does not support the querying mechanisms. XPath provides a common syntax to select XML elements by a list of queries and treats XML documents as a tree data structure; however, when selected tree nodes are returned as results, the intermediate tree nodes along a path to the selected tree nodes are omitted.